package repository;

import java.util.List;

import org.hibernate.Session;

import model.Chamado;
import model.Tecnico;
import utility.DAO;
import utility.HibernateUtil;

public class TecnicoRepository implements DAO<Tecnico>{

	private Session session;
	
	@Override
	public void cadastrar(Tecnico objeto) {
		
		session = HibernateUtil.getSessionFactory().getCurrentSession(); 
		session.beginTransaction(); 
		session.save(objeto); 
		session.getTransaction().commit();
		
	}

	@Override
	public List<Tecnico> listar() {
		
		session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction(); 
		List l1 = session.createQuery("from tb_tecnicos order by id").list(); 
		session.getTransaction().commit(); 
		
		return l1;
	}

	@Override
	public void alterar(Tecnico objeto) {

		session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction(); 
		session.update(objeto); 
		session.getTransaction().commit();
		
	}

	@Override
	public void remover(Tecnico objeto) {

		session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction(); 
		session.delete(objeto); 
		session.getTransaction().commit();
		
	}

	@Override
	public Tecnico buscar(Long id) {

		session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction(); 
		Tecnico tecnico = (Tecnico)session.get(Tecnico.class, id); //
		session.getTransaction().commit(); 
		
		return tecnico;
	}

}
